/**
 * @asignatura: Procesadores de Lenguajes.
 * @autor:      Anthony Vittorio Russo Cabrera
 * @curso:      2012/2013
 * @práctica:   02 - Pseudo-Analizador Léxico
 * @descripción:
 * Práctica 2: Comenzando con Analizador Léxico
 * En la práctica de esta semana vamos a plantear el acercamiento a un 
 * analizador léxico. Objetivo: Construir un pseudo-analizador léxico que cumpla
 * con las siguientes tareas:
 *  1.- Detectar que un código JAVA se encuentran dentro del conjunto de 
 *  caracteres especificado en un fichero, este puede venir dado por un fichero
 *  de texto o por un XML.
 *  2.- Detectar que este código JAVA, las palabras reservadas que 
 *  especificaremos en un fichero, este puede venir dado por un fichero de texto
 *  o por un XML.
 *  3.- Detectar el conjunto de bloques y especificarlos en la salida de la
 *  práctica.
 *  4.- La práctica debe contener un test unitario para cada uno de las tareas
 *  mencionadas. Y debe ser compilada y ejecutada a través de un fichero ANT.
 *  5.- La práctica debe tener sus propios test de comprobación
 */
package pl.p07.modification;

import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;

public class SourceFile {
	public BufferedReader file = null;
	public int no_line = 0;
	public int no_column = 0;

	public SourceFile(String pathFile) {
		try {
			file = new BufferedReader(new FileReader(pathFile));

		} catch (FileNotFoundException e) {
			System.err.println("ERROR->InputFile.Constructor.FileNotFoundException:");
			System.err.println("No se encuentra el fichero '" + pathFile + "'");
			e.printStackTrace();
		}// try-catch
	}// Constructor

	public String readLine() {
		String result = null;
		try {
			result = file.readLine();
			if (result != null) {
				no_line++;
			}// if
		} catch (IOException e) {
			System.err.println("ERROR->InputFile.readLine.IOException");
			e.printStackTrace();
		}

		return result;
	}// readLine
	
	public void close() throws IOException {
	  file.close();
	}// close

}// SourceFile
